X-Git-Url: https://git.r.bdr.sh/rbdr/super-polarity/blobdiff_plain/2af83e98005a14c439b360a5b9ac636f594d9f0c..38c7d3f9eb7d63937c6654ff5dd6046ce02dd59c:/Super%20Polarity/Actors/Bullet.cs diff --git a/Super Polarity/Actors/Bullet.cs b/Super Polarity/Actors/Bullet.cs new file mode 100644 index 0000000..6862e69 --- /dev/null +++ b/Super Polarity/Actors/Bullet.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace SuperPolarity +{ + class Bullet : Actor + { + protected ParticleEngine particleEngine; + + public Bullet(Game newGame) + : base(newGame) + { + } + + ~Bullet() + { + particleEngine = null; + } + + public override void Initialize(Texture2D texture, Vector2 position) + { + base.Initialize(texture, position); + particleEngine = ParticleEffectFactory.CreateBullet(position); + } + + public override void Update(GameTime gameTime) + { + Velocity.X = (float)(MaxVelocity * Math.Cos(Angle)); + Velocity.Y = (float)(MaxVelocity * Math.Sin(Angle)); + + Position += Velocity; + + particleEngine.Update(); + particleEngine.EmitterLocation = Position; + } + + public override void Draw(SpriteBatch spriteBatch) + { + base.Draw(spriteBatch); + particleEngine.Draw(spriteBatch); + } + } +}